RACUNARSKE PERIFERIJE I INTERFEJSI
Ispit
11.06.2018.g.




Redni broj testa: 8



OBAVEZNO UNESITE SLJEDECE PODATKE:
Ime:
Prezime:
Broj indeksa: /


NAPOMENE:


Koriscenje mobilnih telefona nije dozvoljeno.
Na racunaru smiju biti aktivni samo prozor sa testom i Calculator.

Ukoliko birate jedan od ponudjenih odgovora:
    - Tacan izbor daje 10%.
    - Netacan izbor daje -5% (negativni poeni).
    - "Ne znam" daje 0.
Ukoliko unosite broj u edit polje:
    - Tacan odgovor daje 10%.
    - Netacan odgovor daje 0.

Test se predaje klikom na taster "PREDAJEM TEST".

U slucaju da student ne moze da preda test iz bilo kojeg razloga, obavezan je da se odmah javi nastavniku, zatim, da prepise na papir redni broj testa, ime, prezime, broj indeksa i rjesenja zadataka koje je uradio i to preda nastavniku.


TEST



P0. Dat je sledeci dio programa:
   while((PINC&16+PIND&32)==48) {
      SetLED(1); sleep(2);
      SetLED(2); sleep(3);
      SetLED(4); sleep(4);
   }
Ovaj program obavlja funkciju semafora, koji radi dok je ...

1.pritisnut taster i zatvoren prekidac
2.otpusten taster i otvoren prekidac
3.neprozirni objekat izmedju oba foto para.
4.objekat ispred optickog difuzionog senzora
5.Ni jedan ponudjeni odgovor nije tacan
6.Ne znam odgovor


P1. Nastavite niz vrijednosti koje se upisuju na izlazni port, kod upravljanja koracnim motorom. 8, 12, ?

Unijeti tacan odgovor:

P2. Dat je program, inkrementalnog davaca sa pracenjem smjera kretanja
y = inport(port);
staro=novo;
novo=y&32;
if (novo==staro) return;
switch(staro){
   //Analiza pomjeraja
   …
}
Da bi program ispravno funkcionisao potrebno je, izmedju ostalog, umjesto:

1.novo=y & 32; staviti novo=y & (48);
2.y = PINB; staviti novo = PINB & 40;
3.novo=y & 32; staviti novo=y & (32+8);
4.y = PINB; staviti y = PINB & 40;
5.Ni jedan ponudjeni odgovor nije tacan
6.Ne znam odgovor


P3. Dat je dio programa, za upravljanje intenzitetom svjetla.
for(i=0;i< 15;i++){
SetStep(odbirak[i]);
delay(1000);
}
Pri cemu je niz odbiraka definisan kao:
int odbirak[15]={0, 1, 1, 2, 2, 2, 5, 5, 7, 3, 3, 3, 11, 11, 10};
Da bi se ovim programom ostvarila testerasta funkcija intenziteta svjetla potrebno je:

1.umjesto i++ staviti i+=3
2.umjesto SetDAC(odbirak[i]) staviti SetDAC(i)
3.umjesto i< 15 staviti i< 6
4.umjesto i++ staviti i+=2
5.Ni jedan ponudjeni odgovor nije tacan
6.Ne znam odgovor


P4. Dat je dio programa za realizaciju A/D konvertora sa alarmom, metodom pratece konverzije:
if(digitalRead(COMP_OUT)){
if(brojac< 15)brojac++;
}
else{
if(brojac>0)brojac--;
}
Serial.printpn(brojac);
SetDAC(brojac);
if(brojac*5/15 < 10) SetLED(1);
else SetLED(0);
Alarm se, paljenjem crvene LED, aktivira...

1.prelaskom ispod donje granice
2.prelaskom iznad gornje granice
3.kada je nivo izmedju donje i gornje granice
4.alarm je uvijek aktivan
5.Ni jedan ponudjeni odgovor nije tacan
6.Ne znam odgovor


P5. Dat je dio koda potreban za realizaciju A/D konvertora metodom sukcesivnih aproksimacija:
for(tezina=32, napon=0; tezina; tezina/=2){
      napon+=tezina;
      SetDAC( napon);
      delay(50);
      if(digitalRead(COMP_OUT))napon+=tezina;
}
Da bi ovaj program ispravno radio potrebno je ...

1.umjesto napon+=tezina; SetDAC( napon); staviti SetDAC(napon+tezina);
2.umjesto for(tezina=32, napon=0; tezina; tezina/=2) staviti for(tezina=8; tezina; tezina/=2)
3.umjesto if(digitalRead(COMP_OUT))napon+=tezina; staviti if(digitalRead(COMP_OUT))napon-=tezina;
4.ukloniti liniju koda napon+=tezina, prvu instrukciju unutar for petlje;
5.Ni jedan ponudjeni odgovor nije tacan
6.Ne znam odgovor


P6. AT komanda "AT+CMGS" sluzi za:

1.listanje SMS poruka iz odabrane memorije
2.slanje SMS poruke
3.ukljucenje identifikacije dolaznog poziva
4.ocitavanje GSM funkcije koje telefon/modek podrzava (TA capabilities list)
5.Ni jedan ponudjeni odgovor nije tacan
6.Ne znam odgovor


P7.

Na slici je prikazan interfejs iz klase:

1.ulaznih digitalnih interfeja
2.ulaznih analognih interfejsa
3.izlaznih digitalnih interfejsa
4.izlaznih analognih interfejsa
5.Ni jedan ponudjeni odgovor nije tacan
6.Ne znam odgovor


P8. Dat je dio koda potreban za prijem podataka serijskom vezom i njihovo smjestanje u niz inputString.

while(!Serial1.available()) {
    char inChar = (char)Serial1.read();
    if ((inChar == '\n') || (inChar == '\r') ) {
        stringComplete = true;
    }
    if(stringComplete == false){
        inputString += inChar;
    }
}

Da bi program ispravno radio, potrebno je:

1.Ne treba nista. U redu je.
2.Umjesto Serial.read(); staviti Serial.read(1);
3.Umjesto inputString+=inChar; staviti inputString=inChar;
4.Umjesto while(!Serial1.available()) staviti while(Serial1.available())
5.Ni jedan ponudjeni odgovor nije tacan
6.Ne znam odgovor


P9. Kod RS232 NULA je

1.Naponski nivo +12V
2.Naponski nivo -12V
3.Promjena naponskog nivoa
4.Zadrzavanje naponskog nivoa
5.Ni jedan ponudjeni odgovor nije tacan
6.Ne znam odgovor


Zavrsio sam sa radom.